home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
os2
/
te2_130t.arj
/
TE2INST.001
/
Whats.New
< prev
next >
Wrap
Text File
|
1994-03-28
|
55KB
|
1,166 lines
Notes for TE/2 Version 1.30
March 16, 1994
Oberon Software
1405 East Main St.
Mankato, MN 56001-5070
Voice: 507/388-7001
BBS: 507/388-1154
-------------------------------------------------------------
Copyright 1991-94, Oberon Software, Mankato, MN - All Rights Reserved
-------------------------------------------------------------
The top portion of this document outlines the changes applied between
TE/2 Version 1.24 and 1.30. The second portion of this document
outlines the changes made between TE/2 Version 1.23 and 1.24. The third
portion of this document outlines changes made between TE/2 Version
1.20 and 1.23. The fourth portion of this document outlines the changes
made between TE/2 Version 1.10C and 1.20.
-------------------------------------------------------------
General Notes
Please note our NEW ADDRESS given directly above! All phone numbers
remain the same.
Also note that Steven Tower's Internet and GEnie ID's are no longer
active; you may contact Steven via the Oberon BBS however.
Features
Multi-Media, sound file support! You can specify WAV or VOC files
to play for various events within TE/2, attach a sound file to
each dialing directory entry, and play and record WAV files
directly from your TE/2 or REXX scripts.
Fully remappable, multiple keyboards! Use the supplied TE2KBD
program to create alternate keyboard mapping files. You can
attach any script command to any keystroke, and load and save
keyboards from your scripts.
You can now pass parameters to your TE/2 syntax or REXX syntax
TE/2 scripts!
Greatly enhanced External programs interface including separate
external file transfer protocol sections. You can now easily use
DOS based external file transfer engines with TE/2. See notes
later in this document regarding use of DOS based external protocol
engines.
New INI File Settings
Variable Setting and Notes
------------- -------------------------------------------------
ChimeWAV Filename, default NULL. Only applicable if you
have MMOS2 installed on your system. This WAV file
will be played instead of the regular TE/2 "Chime".
Chime5 TRUE/FALSE, default FALSE. Only applicable if you
have MMOS2 installed on your system. Setting this to
TRUE will enable playing of the Chime5WAV after every
five minutes of on-line time.
Chime15 TRUE/FALSE, default FALSE. Only applicable if you
have MMOS2 installed on your system. Setting this to
TRUE will enable playing of the Chime15WAV after every
fifteen minutes of on-line time.
Chime60 TRUE/FALSE, default FALSE. Only applicable if you
have MMOS2 installed on your system. Setting this to
TRUE will enable playing of the Chime60WAV after every
sixty minutes of on-line time.
Chime5WAV Filename, default NULL. Only applicable if you
have MMOS2 installed on your system. If enabled, this
file is played after every five minutes of on-line time.
Chime15WAV Filename, default NULL. Only applicable if you
have MMOS2 installed on your system. If enabled, this
file is played after every fifteen minutes of on-line
time.
Chime60WAV Filename, default NULL. Only applicable if you
have MMOS2 installed on your system. If enabled, this
file is played after every sixty minutes of on-line time.
DialingWAV Filename, default NULL. Only applicable if you have MMOS2
installed on your system. This file will be played whenever
TE/2 dials a number if there is no personalized sound file
specified in the dialing directory entry for that number.
EndingWAV Filename, default NULL. Only applicable if you have MMOS2
installed on your system. This file will be played when
TE/2 exits.
StartupWAV Filename, default NULL. Only applicable if you have MMOS2
installed on your system. This file will be played when you
start TE/2.
XferStartWAV Filename, default NULL. Only applicable if you have MMOS2
installed on your system. This file will be played when TE/2
begins a file transfer.
XferSuccessWAV Filename, default NULL. Only applicable if you have MMOS2
installed on your system. This file will be played after
successful completion of a file transfer.
XferFailWAV Filename, default NULL. Only applicable if you have MMOS2
installed on your system. This file will be played if a
file transfer failed for any reason.
Telnet TRUE/FALSE, default FALSE. If set to TRUE, TE/2 will
initiate Telnet handshaking at startup and will respond
to Telnet protocol messages throughout operation.
StatBarAttr Color Attribute, controls the color of the TE/2 Status Bar.
Please note that this attribute is not yet included in the
colors you can set via the Te2Color program. It is set to
yellow on blue by the install program and if you wish to
modify it you will need to use a text editor on your TE2.INI
file to change it "by hand".
Device This is not new but it should be noted here that you can
now specify "Nul" as a device name.
MenuActive This is not new but its functionality has changed. You may
now set it to one of three settings which will determine the
initial display of the TE/2 Menu or Status Bar:
* 0 -> No menu or status bar
* 1 -> Menu
* 2 -> Status Bar
TE2Menu Filename, default NULL. If set to a valid file name, the
contents of the file will replace the default TE/2 menu
(Alt-Z). The menu lines begin at the beginning of the
file and end when the end of file is encountered or when
the string "$$END$$" appears at the beginning of a line.
The menu is drawn in "MenuNormAttr" color unless changed
with one of the two available color-indicator characters:
~ will set "MenuHiAttr" if "MenuNormAttr" is in effect
else it will reset "MenuNormAttr"
$ will set "LogoAttr" unless "LogoAttr" is already in
effect in which case it will reset "MenuNormAttr".
NOTE: Setting "TE2Menu" from a script will have absolutely
no effect; it is only read and parsed at startup.
InitWindowPos Special, no default. You may set this to one of three
values:
* Maximize
* Minimize
* @<filename>
This controls the initial placement of TE/2's window, the
settings are not valid if you run TE/2 in a full screen
session. The "Maximize" and "Minimize" settings should
be self-explanitory; "@<filename>" indicates the name of
a file which will be used to store TE/2's window position
values between executions so that they may be restored on
the next exection. If this variable does not appear in
TE2.INI, TE/2's initial window position will be determined
by OS/2.
CommShared TRUE/FALSE, default FALSE. Use this setting WITH GREAT
CARE! This will cause TE/2 to open it's Device in "Shared
Mode" which allows other applications to open and use the
device simultaneously with TE/2. This could cause great
problems if not used appropriately.
TE2Pipe Pipename, default NULL. If used, the argument should be
a valid pipe name, i.e., "\pipe\te2pipe" or some such.
External processes may use this pipe to send commands into
TE/2; the pipe will accept anything that the Interpret()
function will accept. The external process must send a
2-byte word on the pipe stating the length of the
following string before the string. TE/2 will return the
length of string it read. See the supplied TE2PIPE
program for an example of using this facility from an
external process.
ErrorPopUp TRUE/FALSE, default TRUE. If TRUE, the normal error
popup dialog will appear on script syntax errors, file
open oerrors, etc. If FALSE, only a message will be
printed to stdout. This will allow a remote process
to pipe in commands that could possibly be invalid and
not worry about getting TE/2 into a state where it's
waiting for use input. You would also want to use this
in a host mode script to allow the remote user to enter
script commands via Interpret().
KeyMapFile Filename, defailt NULL. If this variable is set it should
indicate the name of a TE/2 Keyboard Mapping file created
via the TE2KBD program. This file will be read as the
default keyboard mapping file at TE/2 startup.
DialCheckDCD TRUE/FALSE, default TRUE. If set to false, TE/2 will NOT
check for a carrier signal before dialing a number.
ANSIBackspace TRUE/FALSE, default FALSE. If set to TRUE, the backspace
character in either of the ANSI emulations will become
non-destructive.
MaxReDials Numeric, default 0=infinity. If set to a non-zero value
this becomes the absolute maximum number of dialing
attempts that TE/2 will make on any given number before
aborting.
XEXUploadFile Filename, default TE2Upl.XEX. Format of the file is
identical to the TE2.XEX file, this files contents will
determine the External Upload Protocol menu.
XEXDnloadFile Filename, default TE2Dnl.XEX. Format of the file is
identical to the TE2.XEX file, this files contents will
determine the External Download Protocol menu.
New Script Functions
integer PlayFile(string fname, integer wait)
Play a file via MMOS2.
fname - name of a file 'playable' via MMOS2
wait - if 0 willplay file asynchronously, otherwise synchronous
returns: 0 if no error (asynch mode always returns 0) or an error value
integer RecordFile(string fname, string wintitle)
Record a file via MMOS2.
fname - name of file to record into bia MMOS2
wintitle - titlebar text for recorder control
returns: 0 if no error or an error value
notes: function not available in full screen mode
integer MainMenu(integer option)
Set the TE/2 menu state.
option should be one of:
-1 -> cycle
0 -> No menu or status bar
1 -> Menu
2 -> Status bar
returns: TRUE if menu changed state, FALSE if not
integer ReStart(integer option)
Close and reopen the current "Device"
option - if TRUE, use will be prompted for action after the device
has been closed and before it is reopened. User may elect
to exit TE/2 at this point. If FALSE, ReStart() procedes
directly to the reopen phase.
returns: TRUE if successful, FALSE if not (see notes)
Notes: function not available if TE/2 was started with a "hot" handle.
If Restart() fails, usually TE/2 will be exited.
If Telnet handshaking is enabled, it will be reinitialized.
integer WindowMinMax(integer option)
Set TE/2's window state.
option should be one of:
0 -> Minimize
1 -> Maximize
2 -> Restore
returns: 0 if no error or an error value
notes: function not available in full screen mode
integer Interpret(string cmd)
Invoke the script parser on its argument and execute it
as a script command. The function always returns TRUE.
Anything that can be typed at the "Command:" prompt can be
executed via Interpret().
Examples:
Interpret("hangup(false)")
Interpret("downloadpath = d:\foo")
integer ReadKeyFile(string filename)
reads a keyboard definition file into the current keyboard setup
overwriting the current setup.
integer PushKeyboard(void)
saves the currently active keyboard setup and creates a new
keyboard with all TE/2 default key mappings.
integer PopKeyboard(void)
restores a pushed keyboard and discards the current keyboard.
string QueryKeyFile(void)
Returns the name of the currently loaded key mapping file (loaded
via "KeyMapFile" in TE2.INI or the ReadKeyFile() function) or the
empty string if the default keyboard is in effect.
integer SetANSIBS(integer flag)
Sets the ANSI Backspace flag and re-inits the emulation to enable
this mode. Returns the previous value of the flag.
integer SetParms2(string newdev, ... etc)
exactly like SetParms() in all respects except that it takes a
string argument for the device name instead of an integer 'port number'
so it can be used to switch devices with the device name isn't COMx.
See the docs on SetParms() for info in the rest of the parameter list.
integer PopupMenu(string title, string items, integer row, integer col,
integer at1, integer at2, integer sel)
title -- Title for the menu, may be "" for no title
items -- Delimited list of items for menu, first char defines the
delimiter. See MuxWait(), it's list of items is constructed
the same way.
row -- For upper left corner of the menu
col -- For upper left corner of the menu
at1 -- Color Attribute for menu
at2 -- Color Attribute for menu highlights
sel -- Initial selection. If <0 or >number of items, item 1 is
selected initially
The menu is sized based on number of items and the longest item
(or title). The first character of each item is treated as a
mnemonic. Returns the number of the item selected, 0 if the user
pressed ESCape.
Example:
PopupMenu("My Menu", "/One/Two/Three/", 10, 30, 0x17, 0x1f, 2)
Other Script Notes:
Parameters for script files! Both the RUN() statement and the
"CALL" pseudo statement have been enhanced to allow for parameters
which will be passed to the script file. A TE/2 script language
script may retrieve these by querying the read-only string variable:
"ScriptArgs". The entire parameter line will be in this variable and
it is the responsibility of the script to parse it as it sees fit.
A REXX language TE/2 script retrieves the parameters via the standard
PARSE ARG methods.
Note that the RUN() statement now accepts either one or two string
parameters. RUN("MyScript", "Arg1 Arg2") will execute "MyScript" and
place "Arg1 Arg2" in ScriptArgs. The statement RUN("MyScript") is
also legal and it is equivalent to RUN("MyScript", "").
When you use CALL from the TE/2 Alt-/ Command Prompt, any non-space
characters after the script name will be taken as script parameters.
Leading spaces are stripped from the parameter string but not trailing
ones. Note that because the space is used as a delimiter here you
cannot CALL a script with a space in its file name.
You can specify a parameter string to a script started via TE/2's
command line "-m" switch by using "-a". Example:
TE2 -mMyScript "-aArg1 Arg2"
Similarly, you can pass parameters to TE2START.SCR using "-u".
Notes regarding DOS based External Protocols:
1. You MUST use SIO.SYS and VSIO.SYS
1a. You MUST use an minimally documented feature of SIO. On the
SIO "device=" line, you have to specify the port and use
a "-" in the fourth parameter. I.e.:
device=d:\usrdev\sio.sys (2,2f8,3,-)
device=d:\usrdev\vsio.sys (2,2f8,3,-)
2. You MUST run the DOS program from a .BAT batch file via CMD.EXE
as a foreground, child task in the current session. An example
of an entry for HSLINK from my TE2Upl.XEX file is:
0x0011,0
HSLink
c:\os2\cmd.exe*d:\comm\dosxtern\hslink
/c hsl.bat %n %?[Send file(s):]
and HSL.BAT reads:
@echo off
hslink -p%1 -uE:\Inbound\Data %2 %3 %4 %5 %6 %7 %8 %9
exit
-------------------------------------------------------------
Notes for TE/2 Version 1.24
July 19, 1993
Oberon Software
518 Blue Earth St.
Mankato, MN 56001-2142
Voice: 507/388-7001
BBS: 507/388-1154
-------------------------------------------------------------
Copyright 1991-93, Oberon Software, Mankato, MN - All Rights Reserved
-------------------------------------------------------------
=======================================================================
Changes which effect both the Registered and Shareware Versions of TE/2
=======================================================================
General Note
Oberon Software's GEnie ID has changed from "B.FLOWERS" to "BRADY".
You can address GE Mail to either this ID or to our new Customer
Support Representative, Steven Tower, at GEnie ID "TOWER". You
can send GE Mail to Kimberly Bobrow about Oberon PMQWK at GEnie
ID "KIMBERLY".
The Oberon User Support TOPic on GEnie has moved from the IBMPC
RoundTable to the new OS/2 RoundTable. To access the OS/2 RoundTable
on GEnie, type "OS/2" at most any GEnie prompt. The Oberon User
Support TOPic is in CATegory 22, TOPic 2.
The new OS/2 RoundTable is really taking off and Oberon Software is
excited to be working closely with GEnie to help ensure its success.
If you are already a GEnie subscriber, please visit the OS/2 RT on
Page 1400. If not, you can contact a GEnie representative for
subscription information at 1-800-638-9636.
You can also use the new GEnie-Internet Gateway to contact Oberon
Software now. Just send Internet mail to brady@genie.geis.com.
Likewise, contact Steven Tower at tower@genie.geis.com and Kimberly
Bobrow at kimberly@genie.geis.com.
OS/2 2.1 Notes
The release of OS/2 2.1 triggered two very visible problems. For
one of these problems, a workaround has been effected. For the
other, no programmatic workaround has yet been devised however we
will offer several possible workarounds for the user to try.
1. Screen is corrupted at TE/2 start-up.
This problem has been addressed and corrected within TE/2.
2. Keyboard and/or "Screen handler" problems.
The problem appears to exist in the OS/2 2.x keyboard handler.
The symptom is that you may receive one or more of the following
error messages from TE/2 at start-up:
"Cannot initialize screen handler."
"Cannot set logical keyboard state, error 445"
"Cannot obtain kbd focus for logical keyboard, error 449"
If this happens it means that OS/2 has been unable to provide
TE/2 with access to a logical, secondary keyboard which TE/2
needs to use for its menu and dialog box routines. TE/2 cannot
continue if this happens as there would be severe consequences
during later processing. The following workarounds have been
suggested by users and testers and appear to work with varying
degrees of reliability:
A. Run TE/2 in a window instead of full screen. This is the
only suggestion guaranteed to work 100% of the time. If
you have slow video, however, you may be displeased with
the speed of screen updates.
B. Some users report that the problem only happens when a
WinOS2 application is running in the background. Check to
see what else is running on your machine and see if closing
any one of them will allow TE/2 to run.
C. Most users state that if they delete their TE/2 program
object from the desktop and recreate it from a template
that this will correct the problem. Others have re-installed
OS/2 and have seen the problem corrected.
New INI File Setting
Variable Setting and Notes
------------- -------------------------------------------------
SaveScreen TRUE/FALSE, default: TRUE. If FALSE the contents of
the screen before TE/2 is run will NOT be saved and
restored afterwards. Saves about 2k of memory and a
few milliseconds at startup. If you're running from
the desktop there's no need to save the screen anyway.
Problem Resolution and Other Enhancements
Under OS/2 2.1 when running TE/2 in a full screen session on certain
hardware configurations, screen corruption at program startup would
occur. This has been corrected.
Corrected problem regarding "bleed through" of keystrokes from Dialing
Directory and Scrollback Buffer into main terminal screen when TE/2
is run in a window.
Corrected problems encountered when changing COM devices via the
Alt-P menu in TE/2.
Corrected problem regarding use of root directory paths for UploadPath,
DownloadPath, and ScriptPath.
Function keys behave normally in Chat Mode (i.e., PF Key macros now
work).
Backspace in Chat Mode will now wrap backwards across line boundarys.
Added Alt-Y (Yank) in Chat Mode to retrieve the last transmitted line
for re-edit and re-transmission.
Problems regarding various hard and soft traps and machine lockups
which were occuring during re-upload of marked text from the scroll
back buffer have apparently been corrected. If you have or continue
to have problems with this function, please notify Oberon Software
immediately.
Corrected time estimation process on large uploads.
========================================================
Changes which effect only the Registered Version of TE/2
========================================================
New Script Function
integer DrawBox(integer Row, integer Col, integer nRows, integer nCols, integer Attr, integer Style, integer Fill)
Draws a box with the specified co-ordinates. Style is 0 for no frame,
1 for single line frame, 2 for double line frame. Fill is TRUE or FALSE.
Returns TRUE on success, FALSE if parameter error.
Changes and corrections to Script Parser
Problem with using "%%" in the format string for the message() function
resolved.
Function SetMark(), the second parameter has rejecting the keyword
'toggle' which the documentation states should be usable here.
SetMark() now works correctly.
ZModem was setting the script language system variables: LastDownload
and LastUpload incorrectly. This is fixed.
Extraneous TIMEOUT events generated by multiple Waitfor()'s, MuxWait()'s,
and Rgets()'s which were causing synchronization problems have been
accomodated for and this problem should be resolved.
All script functions which take a dialing directory "tag" as an
argument will now accept "#n" instead of a tag to refer to the n-th
directory entry.
REXX notes
For some TE/2 fucntions which return either string or numeric
information, the REXX handler may get confused in certain situations.
For example, a string which begins with a numeric digit (i.e., "123ABC")
may get truncated to just the numeric portion ("123" in the example).
For large numbers, like the return values from OpenDialog() and fopn(),
REXX may alter the number and, for phone numbers with hyphens embedded,
it appears that REXX is treating these as numbers and possibly
attempting to do arithmetic on them! The solution to this problem is
to force the return value from TE/2 to REXX to be a string that does
NOT begin with a numeric digit. You can do this with sprintf() and
a subsequent use of REXX's substr() function. Some examples follow:
/* TE/2 to REXX string and numeric handling */
/* 'DirNumber("")' Returns the phone number most recently dialed */
/* from the dialing directory, i.e. 1-800-555-1212. */
/* REXX might think that this is an arithmetic */
/* statement! So instead... */
'sprintf("[%s", DirNumber(""))' /* Will return "[1-800-555-1212" */
TheNumber = substr(rc, 2) /* Makes it "1-800-555-1212" again */
/* 'OpenDialog(...)' Returns a 16-bit memory pointer which REXX */
/* will probably not handle correctly as a return */
/* code. Use the same workaround... */
'sprintf("[%s", OpenDialog(...))'
DlgHandle = substr(rc, 2)
-------------------------------------------------------------
Notes for TE/2 Version 1.23
April 15, 1993
Oberon Software
518 Blue Earth St.
Mankato, MN 56001-2142
Voice: 507/388-7001
BBS: 507/388-1154
-------------------------------------------------------------
Copyright 1991-93, Oberon Software, Mankato, MN - All Rights Reserved
-------------------------------------------------------------
=======================================================================
Changes which effect both the Registered and Shareware Versions of TE/2
=======================================================================
New INI File Settings
Variable Setting and Notes
------------- -------------------------------------------------
SetVTDefAttr TRUE or FALSE, default is FALSE. If set to TRUE,
then the value of your TermAttr will be given to
the VT100 handler to use as the default attribute.
This replaces and overrides any setting for the
"V" flag in the COMMPAK2FLAGS environment variable.
NoHPFSSalvage TRUE or FALSE, default is FALSE. If set to TRUE,
TE/2 will NOT use the HPFS-type file renaming
scheme when a filename collision occurs on a
download.
NoExtSalvage TRUE or FALSE, default is FALSE. If set to TRUE
TE/2 will use only one digit from 1 to 9 as the
final character when attempting to resolve a file
name collision on a FAT drive (or when NoHPFSSalvage
is TRUE).
SalvageBrkCh any number from 1 to 255, default is 59. Set this
to the ASCII value of the character you wish to
use as a separator character when resolving file
name collisions on an HPFS drive. By default this
is a semi-colon and renamed files have the form:
filename;nn (where nn is a number from 1 to 999).
Suggested settings for this would be 46 (a period),
32 (a space), 45 (a hyphen), or 95 (an underscore).
Do NOT use any character which is not valid in an
HPFS file name such as +, /, \, :, * or ?
CursorTop These are the initial scan line setting for the cursor.
CursorBottom If they are left un-set, the cursor will not be changed.
If one is set, they must both be set. They can be
queried from the script language but not set, use the
new SetCursorSz() function instead.
ExtendedFIFO This is not a new setting but it was only partially
enabled in TE/2 1.20. The choices for this setting
are now: TRUE, FALSE, or AUTO. The "fourth choice"
is to leave reference to it OUT of TE2.INI. If it
omitted from TE2.INI then the ambient state of the
16550 is preserved and used. If set to anything at all,
the device is checked first for Extended Hardware
Buffering support. If supported, then if ExtendedFIFO
is set to FALSE, buffering is disabled; if set to TRUE,
buffering is enabled with a Receive Trigger level of 8
and a Transmit Load Buffer Count of 16; if set to AUTO,
then Auto-Buffering is enabled.
Problem Resolution and Other Enhancements
You may now specify the name of a Named Pipe, either local or remote,
in the "Device" field in TE2.INI. If a pipe name is used then the
various COM-specific functions, like setting the baud rate, parity,
etc., are silently ignored.
An add-on product is available for using TE/2 with TCP/IP sockets
and/or NETBIOS sessions. Please contact Oberon Software if interested.
The TE/2 intro screens are no longer garbaged if you start up in
132 column mode.
Added command line parameter "-?" which will display a list of TE/2's
command line parameters, version information, and then exits.
========================================================
Changes which effect only the Registered Version of TE/2
========================================================
New Script Functions
integer CRC16(string strg, integer len)
integer CRC32(string strg, integer len)
These compute and return 16-bit and 32-bit CRCs for the
the first 'len' bytes of the supplied string. If you set
len to -1, then the entire string length is used.
integer SetFNKeyFile(string filename)
Allows a script to load a new function key definition file.
Returns 0 on success, 1 if the file was not found or could
not be opened for reading, and 2 if an error was encountered
reading the file.
If the filename parameter is "" then the user will be queried
for a file name. If the filename parameter contains path
information and/or a drive letter, then the name is accepted
as is, otherwise the standard search alogrithm for TE/2
support files is used (current directory, dirctory containing
TE2.EXE, and them each directory in the OS/2 PATH statement).
string ReadScr(integer row, integer col, integer length)
Reads 'length' characters from the terminal screen at row 'row'
and column 'col'. 'row' and 'col' are 0 based (upper left corner
of screen is [0,0]). 'length' must be greater than zero and
less than 256. If 'length' is zero or less, the empty string
is returned. If 'length' is greater than 256, 256 is used. No
error checking on 'row' and 'col' for validity is performed yet.
integer StrnStr(string s1, string s2, integer n)
Finds the n-th occurance of s2 in s1. The call StrnStr(s1, s2, 1)
would be identical to StrStr(s1, s2).
string UniqueFName(string template)
Creates a temporary file name based on 'template' which is a
basename plus wildcard characters '?'. For example:
C:\TEMP\FILE????. The function does NOT open the file.
Returns the empty string if no new names could be generated.
Note: this function works exactly like the REXX/2 utility function
SysTempFileName except that you cannot specify an alternate
filler character.
integer CancelAllWatch()
Cancels all active watches. Returns the number of watchfor's
which were canceled.
integer SetCursorSz(integer top, integer bottom)
Sets the size of the cursor. 'top' and 'bottom' are the
top and bottom scan lines for the cursor, respectively.
Returns TRUE on sucsess and FALSE on failure. If successful,
system variables 'CursorTop' and 'CursorBottom' are updated.
integer SetMark(string tag, special)
"tag" is a dialing directory tag, "special" is TRUE, FALSE, or
TOGGLE. This function sets the mark for the queue dialer on the
specified dialing directory entry. Returns the OLD state of the
mark for that entry (TRUE or FALSE) or -1 if "tag" was not found.
integer TermWindow(integer Row, integer Col, integer nRows, integer nCols)
Resets the terminal window (a subset of the physical screen) to the
size specified. Returns TRUE on success, FALSE on error. It's
recommended that you perform a cls() before and after this call.
Take great care with this one, it's a direct back door into the
terminal emulation code.
New 'system', read-only script variables:
integer Emulation
Reports the current emulation mode:
0 -> TTY
1 -> ANSI-BBS
2 -> ANSI-TE/2
3 -> VT100
4 -> IBM 3101
integer Fullscreen
Set to TRUE (1) if TE/2 executing in a fullscreen
session or FALSE (0) if in a window
integer ScreenRows
integer ScreenCols
These report the actual number of rows and colums on the
physical screen.
string StartScr
Contains the name of the script specified on the TE/2 command
line via "-m<scriptfile>". If none was specified, StartScr
contains "".
integer RexxRC
Contains the return code from the last executed Rexx script
(0 if none have been executed). See notes on Rexx scripting
below.
Changes and corrections to Script Parser
Change to the way REXX script return codes are handled.
Previously you had to end your REXX script with "exit 1" (or
other non-zero value) if you needed to return execution to a
TE/2 language script. A return value of 0 would cause script
execution to end. TE/2 will now continue executing the current
script regardless of the REXX return code. A new, readonly
script variable "RexxRC" is set to the return value of the last
executed REXX script.
Example:
program
message("This is a TE/2 script^M^J")
run("rexxscr.cmd")
message("REXX return code is %d^M^J", RexxRC)
end
Default ScriptPath
If the ScriptPath setting in TE2.INI was left NULL, it was
erroneously defaulting the search path to the root directory
of the current disk. TE/2 now defaults to the CURRENT
directory as the documentation suggests.
Reentrancy and Watchfor()
Previously the script parser was not reentrant and because of
this Watchfor() statements could only be excuted between the
execution of individual lines of the script file. This
severely limited the use of Watchfor() in conjunction with
actions that should occur immediately (i.e., transmitting a
response to a trigger string). This limitation has now been
removed. Some of the new example scripts use this feature
extensively, please refer to them for examples.
Download()
Because of changes in the TE/2 and Commpak/2 handling of
input data streams in the 1.20 release, Download() stopped
working correctly with respect to ZModem. This has been
corrected.
Watchfor()
The number of available watchfor handles has been increased from
10 to 32
Watchfor(), OpenDialog(), and SaveScr()
These functions may now be called 'directly' from REXX scripts.
Be sure to retrieve the returned handles immediately from the
REXX 'RC' variable after calling one of these.
Transmit()
The transmit() function was erroneously limiting output
to the first 64 characters of any given string and discarding
the remainder. This has been corrected.
The transmit() function would behave unpredictably on strings
containing one or more modem delay characters if local echo
mode was not ON. This has been corrected.
-------------------------------------------------------------
Notes for TE/2 Version 1.20
June 15, 1992
Oberon Software
518 Blue Earth St.
Mankato, MN 56001-2142
Voice: 507/388-7001
BBS: 507/388-1154
=======================================================================
Changes which effect both the Registered and Shareware Versions of TE/2
=======================================================================
* New INI File variables
DirFile <filename> -- Names the default dialing directory file
which TE/2 will load at startup.
FnkFile <filename> -- Names the default function key definition
file which TE/2 will load at startup.
XexFile <filename> -- Names the default external programs file
which TE/2 will load at startup.
VT100Prn <devname> -- Names the "printer device" to be used in
conjunction with the new printer support
in the VT100 emulation (described elsewhere
in this document)
VT100Backspace -- Set to True or False, default is False. If
"true", the VT100 emulation will interpret
incoming backspace characters as "destructive"
(That is, a backspace will be equivalent to
the sequence backspace-space-backspace).
SwapBS4Del -- Set to True or False, default is False. If
"true", TE/2 will transmit a DEL character
(ASCII 127) from the backspace key instead of
the default backspace character (ASCII 8).
Note that this effects ONLY the backspace key
itself and not CONTROL+H.
DialerSendInit -- Set to True or False, default is False. If
"true" the TE/2 dialer will transmit the modem
initialization string ("ModemInitStrg") to the
modem at the beginning of each dialing session.
* New INI file keyword
INCLUDE <filename> -- allows you to segregate portions of your
INI file settings into separate files.
This feature is used in the default INI
file for the new modem definition setup
described elsewhere in this document.
* Online Colors Setup!
Atl-Y from within TE/2 will now execute TE2COLOR.EXE if possible.
TE2COLOR.EXE must be either
1) in the current directory,
2) in the same directory as TE2.EXE, or
3) somewhere on the PATH.
Your INI file must be located likewise (if you've changed directories
since startup, this may cause a problem). Note that online color
setup WILL NOT WORK if you have your color attributes in a file which
has been "included" into your .INI file. If this is the case, you
still can run TE2COLOR as a standalone, the command line syntax is
"TE2COLOR filename".
* Modem setup files
A file named MODEMS.ZIP is included with this release of TE/2.
It contains over 60 modem configuration files designed to be
"included" into your TE2.INI for various modem types. To use
these files, refer to the file MODEMS.DOC which is contained
in MODEMS.ZIP.
* Alternate Keyboards
Alt-= brings up a menu of alternate keyboards for you to choose
from. Support is provided for:
OS2You Mode
Doorway Mode (Standard)
Doorway Mode (Enhanced)
"Pure" Binary Mode for function keys
See TE2.DOC, the section on "Alternate Keyboards" for a description
of each of these and further information.
* PASSWORD Field in Dialing Directory entries
You can assign a string to be associated with each entry into
the dialing directory. The "Toggle" function in the dialing
directory screen will allow you to view this setting. In the
full featured version of TE/2, you may access this value via
the "PASSWORD()" function (described elsewhere in this document).
* "Access Codes" in the dialing directory
This was previously a "registered version only" feature, it
has now been included into the shareware release of TE/2.
This feature allows you to enter up to ten strings for each
dialing directory that may be substituted as "macros" into
the phone numbers of directory entries.
* New "Filename Mangling" logic on download filename collisions
The old filename resolution logic, involving dollar sign
characters, has been replaced. TE/2 will resolve filename
collisions differently depending on whether the target disk
is formatted with HPFS or not:
On HPFS, ";xx", where "xx" is a number starting at 1,
will be appended to the existing file's name.
On FAT, the last two characters of the existing file's
name will be replaced with a two digit number beginning
at 01.
* COMMPAK2FLAGS Environment Variable
This environment variable has been instituted as a means of
passing certain information into Commpak2.Dll to alter its
behavior. At this time, there is one valid setting for
COMMPAK2FLAGS:
"set COMMPAK2FLAGS=X:Y;" or "set COMMPAK2FLAGS=X:N;"
These settings will turn the 16550 Extended Hardware Buffering
check ON and OFF respectively. The default is on. Although the
com device driver should only return an error in response to a
check for the 16550 chip, on some machines it causes a fatal
trap! If you experience this problem just as a file transfer
begins, you should set COMMPAK2FLAGS=X:N; in your CONFIG.SYS.
* New INI Setting: ExtendedFIFO True/False
TE/2 will not alter the BUFFERS setting for the com port upon
startup unless this setting appears in the INI file (that is,
TE/2 will use whatever is default or has been set via the OS/2
MODE command). If ExtendedFIFO is set to "TRUE", TE/2 will
attempt to set AUTO buffering, if it is set to "FALSE" it will
attempt turn off the 16550 FIFO buffer. Do not use this setting
unless you deem it absolutely necessary. Note also that the
file transfer protocols will, by default, attempt to set AUTO
buffering during file transfer. If this causes a problem on
your machine, you can turn this off via the COMMPAK2FLAGS
environment variable described elsewhere in this document.
* VT100 Printing
If the new INI file setting "VT100Prn" is set to a valid
device or file name before entering VT100 mode, certain VT220
printing features will be enabled. This will allow the host
program to direct the VT100 to perform various print functions:
Auto Print Mode ON and OFF (^[[?5i and ^[[?4i)
All following display lines print when you move the
cursor off the line using a LF, FF, VT, or auto wrap.
The printed line ends with a CR and the character which
moved the cursor off the previous line. Auto line
wrap line "ends" with a LF.
Printer Controller Mode ON and OFF (^[[5i and ^[[4i)
The terminal sends received characters to the printer
without displaying them on the screen. All characters
and character sequences, except NULL, XON, XOFF, ^[[5i,
and ^[[4i, are sent to the printer. Printer controller
mode has a higher priority than Auto print mode. It can
be selected during auto print mode.
Print Screen (^[[i or ^[[0i)
Print the screen or the current scrolling region (depending
on the DECPEX setting). Each line ends with a CR+LF
pair and the operation is completed with a FF if DECPFF
mode is selected.
DSR response to ^[?15n
The VT100 will respond to the hosts query for terminal
printer information with ^[[?10n if a device has been
named via VT100Prn (implying the printer is "ready") or
with ^[[?13n if no device is named (printer NOT "ready").
Print Mode Selection Supported
^[[?18h -- DECPFF. Print FF after print screen.
^[[?18l -- DECPFF. Don't print FF after print screen.
^[[?19h -- DECPEX. ^[[i prints full screen.
^[[?19l -- DECPEX. ^[[i prints active scroll region.
Print cursor line NOT supported
^[[1i, "Print current cursor line" is NOT supported by the
VT100 emulation as it would not be possible to produce
reasonable printer output from this function given the
intervention of the OS/2 spooler.
* Character translation of "[" characters filtered
For certain European character setups, the "[" needs to be
translated but it still needs to be accessed "as is" when it
appears in an ANSI or VT100 control sequence! When applying
character translation from the XLat table, TE/2 now checks for
the special case of '[' immediately following an ESCape character
and does not translate it in this situation. Any arbitrary
number of control characters may appear between the ESC and the
'[' and it will still be considered "immediately after".
* High-bit characters allowed in input fields.
European users can now enter their names properly in the dialing
directory and other input fields!
* TE/2 now no longer reports negative numbers for baud rates of
38400 or greater.
* The default baud rate for a new entry into the TE/2 dialing
directory is now set to whatever was specified in your "Baud"
statement in TE2.INI.
* TRAP 0008 problem for TE/2 with shared modem over LAN addressed.
If you have experienced this problem, place the line:
NoOvIO TRUE
anywhere in your TE2.INI. This should correct the problem at
the expense of a small amount of throughput. If the problem
persists, please contact Oberon Software.
* Cursor problem fixed in input fields when screen in 25 line mode.
Previously the cursor would not display correctly in input fields
unless the screen was in 43 or 50 line mode.
* Long "CONNECT" strings no longer overwrite the borders of the dialer
dialog box.
------------------------------------------------------------
========================================================
Changes which effect only the Registered Version of TE/2
========================================================
* REXX/2 Interface for script writers!
You now have the option of writing your TE/2 scripts in either
the TE/2 "Original Syntax" Script Language or in the REXX/2
Procedure language! See the notes in SCRIPT.DOC regarding
REXX scripts for further information.
* New Script Language Functions
NOTE: In each of the following functions which use "tag" as an
argument, the string "tag" may be either a value to search the
directory file's "Tag" field for or it may be "" in which case
it is interpreted as "the most recently dialed entry".
Password(tag) Returns the "Password" field for the
entry or "" on error.
DirName(tag) Returns the "Name" field for the entry
or "" on error.
DirPhone(tag) Returns the "Number" field for the entry
or "" on error.
DirScript(tag) Returns the "Script" field for the entry
or "" on error.
DirTag(tag) Returns the "Tag" field for the entry
or "" on error.
SaveDirFile(filename) Saves the current directory as filename,
if filename is "" saves the current
directory without changing the name.
Returns 0 on success, non zero otherwise.
SetTag(tag, tag2) Sets the "Tag" field for the entry,
returns 1 on success, 0 on failure.
SetName(tag, name) Sets the "Name" field for the entry,
returns 1 on success, 0 on failure.
SetPassword(tag, password) Sets the "Password" field for the entry,
returns 1 on success, 0 on failure.
SetPhone(tag, phone) Sets the "Number" field for the entry,
returns 1 on success, 0 on failure.
SetScript(tag, script) Sets the "Script" field for the entry,
returns 1 on success, 0 on failure.
StrEval(strg) Returns the value of its argument.
This function appears as an aid to the
REXX language script writer.
SetXlatTable(fname, ioflag) Reads a new character translation table
from the indicated file. If ioflag
is non-zero, it will initialize the
OUTPUT translation, if it is zero it
will initialize INPUT translation. If
fname is "" the corresponding
character translation is turned OFF.
SetVT100BkSp(flag) Sets the VT100 backspace mode (see INI
variable VT100Backspace) to ON or OFF
depending on the Boolean "flag". Returns
the previous state of the VT100 backspace
mode.
* File Transfer Progress Display revised and cleaned up for CIS B+
The somewhat confusing "Bytes Transferred" and "Time Remaining"
statistics for CIS B+ transfers have been reworked and cleaned up.
TE/2 will now "ring the bell" after a CIS B+ file transfer if
you have alarms enabled also!